package com.enum_.annoatation_;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

public class Override {
    public static void main(String[] args) {

    }
}

class Father{//父类
    public void fly(){
        System.out.println("Father fly()");
    }
}
class Son extends Father{//子类
    //1.@Override 注解放在fly方法上，表示子类的fly方法重写了父类的fly
    //2.如果没有写@Override 还是重写了父类fly
    //3.如果写了@Override 注解，编译器就会去检查该方法是否真的重写了父类的
    //  方法，如果的确重写了，则编译通过，如果没有构成重写，则编译错误
    //进行语法校验
    //4.看看@Override 的定义
    //  如果发现@interface 表示一个注解类
//    @Target(ElementType.METHOD)
//    @Retention(RetentionPolicy.SOURCE)
//    public @interface Override {
//    }
    @java.lang.Override
    public void fly() {
        System.out.println("Son fly()");
    }
}